#include<bits/stdc++.h>

using namespace std;
using ll = long long;
#define endl '\n'
int a[6] = {1, 2, 3, 4, 5, 6};
int book[6] = {0};//标记数组 book[i]=0表示没有选择i否则表示选择了i
int n = 6;
int target = 10;

void dfs(int k) {
    //递归终点 递归到叶子结点（最大深度）结束
    if (k >= n) {
        for (int i = 0; i < n; i++) {
            cout << book[i];
        }
        cout << endl;
        return;
    }
    //递归 完全m=2 二叉树
    book[k] = 0;
    dfs(k + 1);

    book[k] = 1;
    dfs(k + 1);
}


int main() {
    dfs(0);
    return 0;
}
